﻿@model PcaWeb.Areas.Admin.Models.RegisterModel

@{
    var X = Html.X();
}

@(
 X.Window()
        .ID("winEditarUsuario")
        .Title(string.Format("Editando usuario \"{0}\"",Model.RegisterUserName))
        .Resizable(false)
        .Icon(Icon.UserEdit)
        .Layout(LayoutType.Fit)
        .Width(450)
        .Constrain(true)
        .BodyPadding(5)
        .Listeners(l => {
            l.AfterRender.Handler = @"App.RegisterZonaHoraria.getStore().load({
                                        params: {
                                            zonaHorariaId:"+ Model.RegisterZonaHoraria +
                                        @"},
                                        scope: this,
                                        callback: function (records, operation, success) {
                                            if (records[0] != null) {
                                                App.RegisterZonaHoraria.setValue(records[0].data.zona_horaria_id);
                                            }
                                        }
                                    })";
        })
        .Items(
            X.FormPanel()
                .ID("formEditarUsuario")
                .Layout(LayoutType.Form)
                .BodyPadding(5)
                .FieldDefaults(fieldDefaults => { fieldDefaults.LabelWidth = 180; })
                .Items(
                    X.TextFieldFor(m => m.RegisterUserName).ReadOnly(true),
                    X.TextFieldFor(m => m.RegisterEmail),
                    X.HiddenFor(m => m.RegisterPassword),
                    X.HiddenFor(m => m.RegisterConfirmPassword),
                    X.TextFieldFor(m => m.RegisterNick),
                    X.TextFieldFor(m => m.RegisterNombre),
                    X.TextFieldFor(m => m.RegisterApellido),
                    X.ComboBoxFor(m => m.RegisterZonaHoraria)
                        .QueryMode(DataLoadMode.Remote)
                        .ForceSelection(true)
                        .DisplayField("nombre")
                        .ValueField("zona_horaria_id")
                        .Store(
                            X.StoreFor(typeof(PcaCore.BOL.Tablas.oTZonaHoraria))
                                .AutoLoad(false)
                                .Proxy(
                                    X.AjaxProxy()
                                        .Url(Url.Action("GetAllZonasHorarias", "Tablas", new { area = "" }))
                                        .Reader(X.JsonReader().RootProperty("data"))
                                )
                        ),
                    X.Checkbox()
                        .ID("activo")
                        .FieldLabel("Activo")
                        .Checked(Convert.ToBoolean(ViewData["activo"]))
                )
                .Buttons(
                    X.Button()
                        .Text("Actualizar")
                        .Icon(Icon.Disk)
                        .DirectEvents(de =>
                        {
                            de.Click.Url = Url.Action("ActualizarUsuario", "Usuarios");
                            de.Click.Method = HttpMethod.POST;
                            de.Click.Before = "PcaGlobal.fnValidarForm";
                            de.Click.Success = @"App.storeUsuarios.reload();
                                                 App.winEditarUsuario.close();";
                            de.Click.Failure = "PcaGlobal.showError(result.msg);";
                            de.Click.EventMask.ShowMask = true;
                            de.Click.EventMask.Msg = "Actualizando...";
                        })
                )
        )
)